
#include <stdio.h>
#include <stdarg.h>

#include "tp_typedef.h"
#include "tp_log.h"

static int g_log_level = TP_LOG_I;

static void tp_log(const char* fmt, va_list ap)
{
	char buffer[1024] = {0};
	vsnprintf(buffer, sizeof(buffer), fmt, ap);

	puts(buffer);

	return;
}

void tp_log_init(int level)
{
    g_log_level = level;
}

void tp_loge(const char* fmt, ...)
{
	va_list ap;
	va_start(ap, fmt);

	if(g_log_level >= TP_LOG_E)
	{
		tp_log(fmt, ap);
	}
	va_end(ap);

	return;
}

void tp_logv(const char* fmt, ...)
{
	va_list ap;
	va_start(ap, fmt);

	if(g_log_level >= TP_LOG_V)
	{
		tp_log(fmt, ap);
	}
	va_end(ap);

	return;
}

void tp_logi(const char* fmt, ...)
{
	va_list ap;
	va_start(ap, fmt);

	if(g_log_level >= TP_LOG_I)
	{
		tp_log(fmt, ap);
	}
	va_end(ap);

	return;
}
